/**
 * Proyecto X Tecnologia de programacion  2do cuatrimestre de 2012
 * @author
 * German Rickert LU: 93284
 * Maximiliano Tiberi LU: 83600
 * Sebastian Larrieu LU: 94056
 */

package entidades;

import grafica.DisparoGrafico;
import grafica.MarvelGrafico;

import java.util.LinkedList;
import logica.Posicion;

public class Hulk extends Marvel
{
	
	//constructor
	public Hulk(Posicion p)
	{	
		super(4);
		posicion=p;
		grafica=new MarvelGrafico();
		((MarvelGrafico)grafica).cargarHulk();
		accion=false;
		vida=100;
		precio=2000;
		defensa=7;
		
	}

	
	/**
	 * Ataca a su alrededor
	 */
	public Disparo atacar() 
	{
		Posicion pos=this.getPosicion();
		LinkedList<Posicion> aux = new LinkedList<Posicion>();
		Posicion agregar;
		
		agregar=new Posicion(pos.getFila(), pos.getColumna()-1);
		aux.addFirst(agregar);
		
		agregar=new Posicion(pos.getFila(), pos.getColumna()+1);
		aux.addFirst(agregar);
		
		if((pos.getFila()-1)>=0) //no estoy en el limite superior del tablero
		{
			for(int c = pos.getColumna()-1;c<pos.getColumna()+2;c++)
				{
					agregar=new Posicion(pos.getFila()-1,c);
					aux.addFirst(agregar);
				}
		}
		
		if((pos.getFila()+1)<=4) //no estoy en el limite inferior del tablero
		{
			for(int c = pos.getColumna()-1;c<pos.getColumna()+2;c++)
				{
					agregar=new Posicion(pos.getFila()+1,c);
					aux.addFirst(agregar);
				}
		}
		
		Disparo toReturn=new Disparo(25,aux);
		DisparoGrafico r=(DisparoGrafico) toReturn.getGrafica();
		r.cargarDisparoHulk();	
		return toReturn;
	}
}
